package com.ruoyi.ae.api;

import com.ruoyi.ae.api.domain.AeWarehouseOrderInfo;
import com.ruoyi.ae.api.domain.PullOrderFromAeParam;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.Map;

@FeignClient(contextId = "remoteAeOrderService", value = ServiceNameConstants.AE_SERVICE)
public interface RemoteAeOrderService {

    /**
     * 获取线上物流信息
     */
    @GetMapping("/erp/erpOrder/getOnlineLogisticsLabel/{orderId}")
    AeWarehouseOrderInfo getOnlineLogisticsLabel(@PathVariable("orderId") Long orderId);
    

    @PostMapping("/erp/erpSaveOrder/pullOrdersFromAliExpress")
    R<Object> pullOrdersFromAliExpress(@RequestBody PullOrderFromAeParam pullOrderFromAeParam);

    /**
     * 获取订单收货信息
     */
    @PostMapping("/erp/erpOrder/findOrderReceiptInfo/{storeId}/{orderId}")
    public R<Object> findOrderReceiptInfo(@PathVariable("storeId") String storeId, @PathVariable("orderId") String orderId);

    /**
     * 获取订单基础信息
     */
    @PostMapping("/erp/erpOrder/findOrderBaseInfo")
    public R<Object> findOrderBaseInfo(@RequestBody Map<String, String> map);

    @GetMapping("/erp/erpOrder/findIssueOrderListByStoreId/{storeId}")
    public R<Object> findIssueOrderListByStoreId(@PathVariable("storeId") String storeId);

}
